package com.epam.web_project.bank.dao.customer_dao;

import java.util.List;

import com.epam.web_project.bank.entity.Customer;
import com.epam.web_project.bank.exception.UnimplemetedException;

public interface CustomerDAO {
	public int save(Customer customer);

	public boolean save(List<Customer> customers) throws UnimplemetedException;

	public boolean update(Customer customer) throws UnimplemetedException;

	public boolean checkSecret(Customer customer, String answer);

	public boolean changePassword(Customer customer, String passwordHash);

	public boolean markDeleted(Customer customer);

	public boolean delete(Customer customer) throws UnimplemetedException;

	public Customer findById(int id);

	public Customer findByName(String nameFragment)
			throws UnimplemetedException;

	public Customer findByLogin(String login);

	public Customer userAuth(String login, String pass);

	public List<Customer> findByUnapprovedAcc();

	public List<Customer> findByApprovedAcc();

	public List<Customer> findUnapprovedCustomers();

	public boolean approve(Customer customer);
}
